package com.mszlu.blog.config;

import com.mszlu.blog.handler.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import javax.annotation.Resource;

/**
 * @Author: linKe
 * @version: 1.0
 * @Description: 跨域配置
 * WebMVCConfig 后端 全局跨域配置
 * 增加登录拦截器
 */
@Configuration
public class WebMVCConfig implements WebMvcConfigurer {

    /**
     * 注入拦截器对象
     */
    @Resource
    private LoginInterceptor loginInterceptor;

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        //跨域配置  允许端口访问
        registry.addMapping("/**").allowedOrigins("http://localhost:8080");
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //拦截test接口，后续实际遇到需要拦截的接口时，
        //再配置为真正的拦截接口
        registry.addInterceptor(loginInterceptor)
                .addPathPatterns("/test")
                //评论增加拦截
                .addPathPatterns("/comments/create/change")
                .addPathPatterns("/articles/publish");
    }
}
